package com.javacoo.xservice.base.support;

import com.javacoo.xservice.base.config.Resources;

/**
 * 请求时的自定义查询状态码，主要参考Http状态码，但并不完全对应
 * <p>说明:</p>
 * <li></li>
 * @author DuanYong
 * @since 2017年2月7日下午4:42:07
 */
public enum HttpCode {
	/** 200请求成功 */
	OK(200),
	/** 207频繁操作 */
	MULTI_STATUS(207),
	/** 400请求参数出错 */
	BAD_REQUEST(400),
	/** 403没有权限 */
	FORBIDDEN(403),
	/** 404找不服务 */
	NOT_FOUND(404),
	/** 408请求超时 */
	REQUEST_TIMEOUT(408),
	/** 409业务逻辑异常 */
	CONFLICT(409),
	/** 415不支持的请求类型 */
	REQUEST_NOT_SUPPORT(415),
	/** 太多请求 */
	TOO_MANY_REQUESTS(429),
	/** 500服务器出错 */
	INTERNAL_SERVER_ERROR(500);

	private final Integer value;

	private HttpCode(Integer value) {
		this.value = value;
	}

	/**
	 * Return the integer value of this status code.
	 */
	public Integer value() {
		return this.value;
	}

	public String msg() {
		return Resources.getMessage("HTTPCODE_" + this.value);
	}
	@Override
	public String toString() {
		return this.value.toString();
	}
}
